Skip to content

feat(profile): polish agent profile sidebar details#1237

Merged
tellaho merged 31 commits into
kennylopez-agent-profile-sidebarfrom
tho/pr-1200-profile-sidebar
Jun 24, 2026
Merged

feat(profile): polish agent profile sidebar details#1237
tellaho merged 31 commits into
kennylopez-agent-profile-sidebarfrom
tho/pr-1200-profile-sidebar

Conversation

@tellaho

@tellaho tellaho commented Jun 24, 2026

Copy link
Copy Markdown
Collaborator

Light tweaks on top of #1200 (Kenny's "Move agent management into profile sidebar"). Bases into kennylopez-agent-profile-sidebar so it can land before/with that PR.

What's here

Spike polish on the profile sidebar agent details:

  • Surface agent info fields in the summary — public key / owner / respond-to shown up top, regardless of viewer ownership.
  • Combine agent configuration ingress — model, instructions, runtime, ACP/MCP commands grouped behind an "Advanced" subpage.
  • Refine diagnostics log layout and emphasize error states.
  • Refine agent detail grouping — extract advanced detail rows into their own module to satisfy desktop file-size checks; owner-only respond-to renders with the owner avatar.
  • Merge owner + respond-to into one field — when an agent responds only to its owner, collapse "Owned by" and "Respond to" into a single "Owned by & responds to" row.

Heads-up on the diff

This branch is current with main, but PR #1200's branch (kennylopez-agent-profile-sidebar) is behind main. So the GitHub diff against that base shows a large main-line catch-up (~155 files) on top of the actual ~10-file profile change. The real spike work is confined to desktop/src/features/profile/ plus a couple of desktop/src/features/agents/ files and one shared alert.tsx. Once #1200 catches up to main, the diff here collapses to just the profile polish.

Validation

Desktop, web, and rust pre-commit checks pass locally. Mobile (dart/flutter) toolchain is not present in this environment, so mobile lint/format was skipped — no mobile files were touched.

Coordination

Coordinated in buzz: buzz://message?channel=67a2c861-cd9a-4365-9cf1-d78bc9b24abc&thread=863ca5bf53e611ae0444762c8645755e790bed39b3d914eebc51faec5e913d7f

wesbillman and others added 30 commits June 23, 2026 09:07
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
…1206)

Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: npub1t2tgm7d8f995uqvmnm8h88sg3wnpp9a5xysjf6dg3tjmgt3ltulqdp8ehr <5a968df9a7494b4e019b9ecf739e088ba61097b4312124e9a88ae5b42e3f5f3e@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Wes <wesbillman@users.noreply.github.com>
Co-authored-by: Pinky <44b8e82baa6e0e254e0208d68f335c283c94e7b78dd1fa10d5a49d3f13dd0435@sprout-oss.stage.blox.sqprod.co>
…le repos_dir (#1194)

Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Thomas Petersen <thomasp@squareup.com>
…ease lanes (#1173)

Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
Co-authored-by: npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 <dcfd242e557282d7a1e2cf2e6877522682f1e5c6156dc92ca7d90eaedd3b0f95@sprout-oss.stage.blox.sqprod.co>
Signed-off-by: Tyler Longwell <tlongwell@block.xyz>
Co-authored-by: npub1mprnacetjua2xx3p5eddmhxyk6wv929ymm5py8kd2xfxurxahspqqlgyta <d8473ee32b973aa31a21a65adddcc4b69cc2a8a4dee8121ecd51926e0cddbc02@sprout-oss.stage.blox.sqprod.co>
Co-authored-by: Tyler Longwell <tlongwell@block.xyz>
- Use the shared profile panel view parser for channel and Pulse URL search state so every focused profile subview survives navigation and reloads.
- Replace the old memories/channels-only profileView whitelist in channel and Pulse route validation.
- Expand the profile Playwright coverage to exercise agent instruction, model, settings, diagnostics/logs, channels, and memories ingress rows from a mock managed agent profile.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Reuse managed-agent runtime defaults, provider/model env injection, and Databricks defaults when querying agent models so discovery matches normal startup behavior.
- Add a configurationError field to model discovery responses for known missing provider, model, or credential setup issues instead of treating them as generic subprocess failures.
- Update the profile model picker to render actionable setup messaging for configuration gaps and reserve the red failure state for unexpected discovery errors.
- Show provider-backed agents as remotely managed in the model focused view rather than exposing a local model picker.
- Keep E2E Tauri mocks aligned with the expanded AgentModelsResponse shape.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Merge origin/main into tho/pr-1200-profile-sidebar so the branch includes Wes's #1198 profile owner metadata changes and the latest release/build updates.
- Resolve profile sidebar conflicts by preserving this branch's focused-view refactor while moving public owner metadata and owner avatar rendering into UserProfilePanelFields.
- Add ownerPubkey: null to draft persona profiles to satisfy the updated Profile contract from main.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Replace the Agent info summary ingress with the existing ProfileFieldGroup card for Public key and Owned by.
- Preserve the shared muted background and adjacent field styling by reusing the focused profile field container.
- Remove the now-unused Agent info summary click handler and Info icon import while leaving the focused info view available for other metadata.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Replace separate profile sidebar rows for agent instructions, model, and settings with a single Agent configuration ingress.
- Add a combined configuration focused view that reuses the existing instruction, model picker, and settings sections under one destination.
- Canonicalize legacy profileView values for instructions, model, and settings to configuration so existing deep links continue to resolve.
- Update profile panel utility tests to cover the new canonical view and legacy aliases.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Move the agent activity log ingress to the top-level profile sidebar actions so Diagnostics focuses on operational status and logs.
- Render Diagnostics status with the existing agent status badge instead of plain summary text.
- Embed the Harness log directly in Diagnostics and use flex sizing so the terminal fills the available height while the log body scrolls internally.
- Collapse Harness log chrome into the terminal frame with a compact dark copy action and footer-mounted log filename.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Add a compact shared Alert primitive matching the profile sidebar density with base foreground text and soft background variants.
- Render Diagnostics last errors as a destructive alert instead of a standard metadata field row.
- Prioritize an Error badge on the top-level Diagnostics ingress when a last error is present.
- Move the Harness log filename directly under the terminal header title and remove the footer metadata row.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
- Move model, instructions, runtime, ACP command, and MCP command behind a profile subpage labeled Advanced
- Keep summary profile details read-only and ordered as public key, owner, respond-to, then Advanced
- Render owner-only respond-to values with the owner avatar and display name
- Split auto-start into the bottom profile actions as a switch control
- Extract advanced agent detail rows from the oversized profile sections module to satisfy desktop file-size checks

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
When a managed agent responds only to its owner, collapse the separate
Owned by and Respond to rows into a single Owned by & responds to field.
Surface the agent info summary fields regardless of viewer ownership.

Co-authored-by: Taylor Ho <taylorkmho@gmail.com>
Signed-off-by: Taylor Ho <taylorkmho@gmail.com>
@tellaho tellaho changed the title Polish agent profile sidebar details feat(profile): polish agent profile sidebar details Jun 24, 2026
@tellaho tellaho merged commit c004018 into kennylopez-agent-profile-sidebar Jun 24, 2026
18 of 22 checks passed
@tellaho tellaho deleted the tho/pr-1200-profile-sidebar branch June 24, 2026 08:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants